package com.star.star.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.star.star.dto.StarAlbumArtPageWxuserDTO;
import com.star.star.entity.StarAlbumArt;
import com.baomidou.mybatisplus.extension.service.IService;
import com.star.star.vo.StarAlbumArtPageWxuserVO;

import java.util.List;

/**
 * 艺人专辑关联作品 服务类
 *
 * @author yangzj
 */
public interface StarAlbumArtService extends IService<StarAlbumArt> {

    //-------------------- 以下微信小程序（用户端）接口 --------------------

    /**
     * 保存-微信小程序（用户端）
     *
     * @param albumId 专辑ID
     * @param artId   作品ID
     */
    void saveWxuser(Long albumId, Long artId);

    /**
     * 更新-微信小程序（用户端）
     *
     * @param albumId 专辑ID
     * @param artId   作品ID
     */
    void updateWxuser(Long albumId, Long artId);

    /**
     * 删除通过作品ID-微信小程序（用户端）
     *
     * @param artId 作品ID
     */
    void deleteWxuserByArtId(Long artId);

    /**
     * 删除通过作品ids-微信小程序（用户端）
     *
     * @param artIds 作品ids
     */
    void deleteWxuserByArtIds(List<Long> artIds);

    /**
     * 分页-微信小程序（用户端）
     *
     * @param dto 入参
     * @return {@link IPage}<{@link StarAlbumArtPageWxuserVO}>
     */
    IPage<StarAlbumArtPageWxuserVO> pageWxuser(StarAlbumArtPageWxuserDTO dto);

    //-------------------- 以下通用接口 --------------------

    /**
     * 列表作品ID-微信小程序（用户端）
     *
     * @param albumId 专辑ID
     * @return boolean
     */
    List<Long> listArtId(Long albumId);
}
